UNPKG

@node-dlc/messaging

Version:
114 lines 4.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OrderNegotiationFieldsV1 = exports.OrderNegotiationFieldsV0 = exports.OrderNegotiationFields = void 0; const bufio_1 = require("@node-dlc/bufio"); const MessageType_1 = require("../MessageType"); const OrderOffer_1 = require("./OrderOffer"); class OrderNegotiationFields { static deserialize(buf) { const reader = new bufio_1.BufferReader(buf); const type = Number(reader.readBigSize()); switch (type) { case MessageType_1.MessageType.OrderNegotiationFieldsV0: return OrderNegotiationFieldsV0.deserialize(buf); case MessageType_1.MessageType.OrderNegotiationFieldsV1: return OrderNegotiationFieldsV1.deserialize(buf); default: throw new Error(`Order Negotiation Fields TLV type must be OrderNegotiationFieldsV0 or OrderNegotiationFieldsV1`); } } } exports.OrderNegotiationFields = OrderNegotiationFields; /** * OrderNegotiationFields V0 contains preferences of the accepter of a order * offer which are taken into account during DLC construction. */ class OrderNegotiationFieldsV0 extends OrderNegotiationFields { constructor() { super(...arguments); /** * The type for order_negotiation_fields_v0 message. order_negotiation_fields_v0 = 65334 */ this.type = OrderNegotiationFieldsV0.type; } /** * Deserializes an order_negotiation_fields_v0 message * @param buf */ static deserialize(buf) { const instance = new OrderNegotiationFieldsV0(); const reader = new bufio_1.BufferReader(buf); reader.readBigSize(); // read type instance.length = reader.readBigSize(); return instance; } /** * Converts order_negotiation_fields_v0 to JSON */ toJSON() { return { type: this.type, }; } /** * Serializes the order_negotiation_fields_v0 message into a Buffer */ serialize() { const writer = new bufio_1.BufferWriter(); writer.writeBigSize(this.type); writer.writeBigSize(0); return writer.toBuffer(); } } exports.OrderNegotiationFieldsV0 = OrderNegotiationFieldsV0; OrderNegotiationFieldsV0.type = MessageType_1.MessageType.OrderNegotiationFieldsV0; /** * OrderNegotiationFields V1 contains preferences of the acceptor of a order * offer which are taken into account during DLC construction. */ class OrderNegotiationFieldsV1 extends OrderNegotiationFields { constructor() { super(...arguments); /** * The type for order_negotiation_fields_v1 message. order_negotiation_fields_v1 = 65336 */ this.type = OrderNegotiationFieldsV1.type; } /** * Deserializes an order_negotiation_fields_v1 message * @param buf */ static deserialize(buf) { const instance = new OrderNegotiationFieldsV1(); const reader = new bufio_1.BufferReader(buf); reader.readBigSize(); // read type instance.length = reader.readBigSize(); const newBuf = reader.readBytes(); instance.orderOffer = OrderOffer_1.OrderOffer.deserialize(newBuf); return instance; } /** * Converts order_negotiation_fields_v1 to JSON */ toJSON() { return { type: this.type, orderOffer: this.orderOffer.toJSON(), }; } /** * Serializes the order_negotiation_fields_v1 message into a Buffer */ serialize() { const writer = new bufio_1.BufferWriter(); writer.writeBigSize(this.type); const dataWriter = new bufio_1.BufferWriter(); dataWriter.writeBytes(this.orderOffer.serialize()); writer.writeBigSize(dataWriter.size); writer.writeBytes(dataWriter.toBuffer()); return writer.toBuffer(); } } exports.OrderNegotiationFieldsV1 = OrderNegotiationFieldsV1; OrderNegotiationFieldsV1.type = MessageType_1.MessageType.OrderNegotiationFieldsV1; //# sourceMappingURL=OrderNegotiationFields.js.map