UNPKG

lightningdevkit

Version:
104 lines 4.81 kB
import { UnsignedChannelAnnouncement } from '../structs/UnsignedChannelAnnouncement.mjs'; import { UnsignedChannelUpdate } from '../structs/UnsignedChannelUpdate.mjs'; import { UnsignedNodeAnnouncement } from '../structs/UnsignedNodeAnnouncement.mjs'; import { CommonBase } from './CommonBase.mjs'; import * as bindings from '../bindings.mjs'; /** * Represents the set of gossip messages that require a signature from a node's identity key. */ export class UnsignedGossipMessage extends CommonBase { constructor(_dummy, ptr) { super(ptr, bindings.UnsignedGossipMessage_free); } /* @internal */ static constr_from_ptr(ptr) { const raw_ty = bindings.LDKUnsignedGossipMessage_ty_from_ptr(ptr); switch (raw_ty) { case 0: return new UnsignedGossipMessage_ChannelAnnouncement(ptr); case 1: return new UnsignedGossipMessage_ChannelUpdate(ptr); case 2: return new UnsignedGossipMessage_NodeAnnouncement(ptr); default: throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface } } clone_ptr() { const ret = bindings.UnsignedGossipMessage_clone_ptr(this.ptr); return ret; } /** * Creates a copy of the UnsignedGossipMessage */ clone() { const ret = bindings.UnsignedGossipMessage_clone(this.ptr); const ret_hu_conv = UnsignedGossipMessage.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, this); return ret_hu_conv; } /** * Utility method to constructs a new ChannelAnnouncement-variant UnsignedGossipMessage */ static constructor_channel_announcement(a) { const ret = bindings.UnsignedGossipMessage_channel_announcement(CommonBase.get_ptr_of(a)); const ret_hu_conv = UnsignedGossipMessage.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new ChannelUpdate-variant UnsignedGossipMessage */ static constructor_channel_update(a) { const ret = bindings.UnsignedGossipMessage_channel_update(CommonBase.get_ptr_of(a)); const ret_hu_conv = UnsignedGossipMessage.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Utility method to constructs a new NodeAnnouncement-variant UnsignedGossipMessage */ static constructor_node_announcement(a) { const ret = bindings.UnsignedGossipMessage_node_announcement(CommonBase.get_ptr_of(a)); const ret_hu_conv = UnsignedGossipMessage.constr_from_ptr(ret); CommonBase.add_ref_from(ret_hu_conv, ret_hu_conv); return ret_hu_conv; } /** * Serialize the UnsignedGossipMessage object into a byte array which can be read by UnsignedGossipMessage_read */ write() { const ret = bindings.UnsignedGossipMessage_write(this.ptr); const ret_conv = bindings.decodeUint8Array(ret); return ret_conv; } } /** A UnsignedGossipMessage of type ChannelAnnouncement */ export class UnsignedGossipMessage_ChannelAnnouncement extends UnsignedGossipMessage { /* @internal */ constructor(ptr) { super(null, ptr); const channel_announcement = bindings.LDKUnsignedGossipMessage_ChannelAnnouncement_get_channel_announcement(ptr); const channel_announcement_hu_conv = new UnsignedChannelAnnouncement(null, channel_announcement); CommonBase.add_ref_from(channel_announcement_hu_conv, this); this.channel_announcement = channel_announcement_hu_conv; } } /** A UnsignedGossipMessage of type ChannelUpdate */ export class UnsignedGossipMessage_ChannelUpdate extends UnsignedGossipMessage { /* @internal */ constructor(ptr) { super(null, ptr); const channel_update = bindings.LDKUnsignedGossipMessage_ChannelUpdate_get_channel_update(ptr); const channel_update_hu_conv = new UnsignedChannelUpdate(null, channel_update); CommonBase.add_ref_from(channel_update_hu_conv, this); this.channel_update = channel_update_hu_conv; } } /** A UnsignedGossipMessage of type NodeAnnouncement */ export class UnsignedGossipMessage_NodeAnnouncement extends UnsignedGossipMessage { /* @internal */ constructor(ptr) { super(null, ptr); const node_announcement = bindings.LDKUnsignedGossipMessage_NodeAnnouncement_get_node_announcement(ptr); const node_announcement_hu_conv = new UnsignedNodeAnnouncement(null, node_announcement); CommonBase.add_ref_from(node_announcement_hu_conv, this); this.node_announcement = node_announcement_hu_conv; } } //# sourceMappingURL=UnsignedGossipMessage.mjs.map