@node-dlc/wire
Version:
Lightning Network Wire Protocol
59 lines • 3.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deserialize = void 0;
const AcceptChannelMessage_1 = require("./messages/AcceptChannelMessage");
const ChannelAnnouncementMessage_1 = require("./messages/ChannelAnnouncementMessage");
const ChannelUpdateMessage_1 = require("./messages/ChannelUpdateMessage");
const ErrorMessage_1 = require("./messages/ErrorMessage");
const GossipTimestampFilterMessage_1 = require("./messages/GossipTimestampFilterMessage");
const InitMessage_1 = require("./messages/InitMessage");
const NodeAnnouncementMessage_1 = require("./messages/NodeAnnouncementMessage");
const OpenChannelMessage_1 = require("./messages/OpenChannelMessage");
const PingMessage_1 = require("./messages/PingMessage");
const PongMessage_1 = require("./messages/PongMessage");
const QueryChannelRangeMessage_1 = require("./messages/QueryChannelRangeMessage");
const QueryShortChannelIdsMessage_1 = require("./messages/QueryShortChannelIdsMessage");
const ReplyChannelRangeMessage_1 = require("./messages/ReplyChannelRangeMessage");
const ReplyShortChannelIdsEndMessage_1 = require("./messages/ReplyShortChannelIdsEndMessage");
const ShutdownMessage_1 = require("./messages/ShutdownMessage");
const MessageType_1 = require("./MessageType");
function deserialize(buffer) {
const type = buffer.readUInt16BE(0);
switch (type) {
// control messages
case MessageType_1.MessageType.Init:
return InitMessage_1.InitMessage.deserialize(buffer);
case MessageType_1.MessageType.Error:
return ErrorMessage_1.ErrorMessage.deserialize(buffer);
case MessageType_1.MessageType.Ping:
return PingMessage_1.PingMessage.deserialize(buffer);
case MessageType_1.MessageType.Pong:
return PongMessage_1.PongMessage.deserialize(buffer);
// channel messages
case MessageType_1.MessageType.OpenChannel:
return OpenChannelMessage_1.OpenChannelMessage.deserialize(buffer);
case MessageType_1.MessageType.AcceptChannel:
return AcceptChannelMessage_1.AcceptChannelMessage.deserialize(buffer);
case MessageType_1.MessageType.Shutdown:
return ShutdownMessage_1.ShutdownMessage.deserialize(buffer);
// gossip messages
case MessageType_1.MessageType.NodeAnnouncement:
return NodeAnnouncementMessage_1.NodeAnnouncementMessage.deserialize(buffer);
case MessageType_1.MessageType.ChannelAnnouncement:
return ChannelAnnouncementMessage_1.ChannelAnnouncementMessage.deserialize(buffer);
case MessageType_1.MessageType.ChannelUpdate:
return ChannelUpdateMessage_1.ChannelUpdateMessage.deserialize(buffer);
case MessageType_1.MessageType.QueryShortChannelIds:
return QueryShortChannelIdsMessage_1.QueryShortChannelIdsMessage.deserialize(buffer);
case MessageType_1.MessageType.ReplyShortChannelIdsEnd:
return ReplyShortChannelIdsEndMessage_1.ReplyShortChannelIdsEndMessage.deserialize(buffer);
case MessageType_1.MessageType.QueryChannelRange:
return QueryChannelRangeMessage_1.QueryChannelRangeMessage.deserialize(buffer);
case MessageType_1.MessageType.ReplyChannelRange:
return ReplyChannelRangeMessage_1.ReplyChannelRangeMessage.deserialize(buffer);
case MessageType_1.MessageType.GossipTimestampFilter:
return GossipTimestampFilterMessage_1.GossipTimestampFilterMessage.deserialize(buffer);
}
}
exports.deserialize = deserialize;
//# sourceMappingURL=MessageFactory.js.map