lightningdevkit
Version:
Lightning Development Kit
104 lines • 4.81 kB
JavaScript
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