@node-dlc/messaging
Version:
DLC Messaging Protocol
54 lines • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DlcMessage = void 0;
const bufio_1 = require("@node-dlc/bufio");
const MessageType_1 = require("../MessageType");
const ContractDescriptor_1 = require("./ContractDescriptor");
const ContractInfo_1 = require("./ContractInfo");
const DlcAccept_1 = require("./DlcAccept");
const DlcClose_1 = require("./DlcClose");
const DlcOffer_1 = require("./DlcOffer");
const DlcSign_1 = require("./DlcSign");
const NodeAnnouncementMessage_1 = require("./NodeAnnouncementMessage");
const OracleAnnouncementV0_1 = require("./OracleAnnouncementV0");
const OracleAttestationV0_1 = require("./OracleAttestationV0");
const OrderAccept_1 = require("./OrderAccept");
const OrderOffer_1 = require("./OrderOffer");
class DlcMessage {
static deserialize(buf) {
const reader = new bufio_1.BufferReader(buf);
const type = Number(reader.readUInt16BE());
switch (type) {
case MessageType_1.MessageType.ContractDescriptorV0:
return ContractDescriptor_1.ContractDescriptorV0.deserialize(buf);
case MessageType_1.MessageType.ContractDescriptorV1:
return ContractDescriptor_1.ContractDescriptorV1.deserialize(buf);
case MessageType_1.MessageType.ContractInfoV0:
return ContractInfo_1.ContractInfoV0.deserialize(buf);
case MessageType_1.MessageType.ContractInfoV1:
return ContractInfo_1.ContractInfoV1.deserialize(buf);
case MessageType_1.MessageType.OrderOfferV0:
return OrderOffer_1.OrderOfferV0.deserialize(buf);
case MessageType_1.MessageType.OrderAcceptV0:
return OrderAccept_1.OrderAcceptV0.deserialize(buf);
case MessageType_1.MessageType.DlcOfferV0:
return DlcOffer_1.DlcOfferV0.deserialize(buf);
case MessageType_1.MessageType.DlcAcceptV0:
return DlcAccept_1.DlcAcceptV0.deserialize(buf);
case MessageType_1.MessageType.DlcSignV0:
return DlcSign_1.DlcSignV0.deserialize(buf);
case MessageType_1.MessageType.DlcCloseV0:
return DlcClose_1.DlcCloseV0.deserialize(buf);
case MessageType_1.MessageType.OracleAttestationV0:
return OracleAttestationV0_1.OracleAttestationV0.deserialize(buf);
case MessageType_1.MessageType.OracleAnnouncementV0:
return OracleAnnouncementV0_1.OracleAnnouncementV0.deserialize(buf);
case MessageType_1.MessageType.NodeAnnouncement:
return NodeAnnouncementMessage_1.NodeAnnouncementMessage.deserialize(buf);
default:
throw new Error(`Dlc Message type invalid`);
}
}
}
exports.DlcMessage = DlcMessage;
//# sourceMappingURL=DlcMessage.js.map