@node-dlc/messaging
Version:
DLC Messaging Protocol
67 lines (66 loc) • 2.2 kB
TypeScript
/// <reference types="node" />
import { MessageType } from '../MessageType';
import { IDlcMessage } from './DlcMessage';
import { IOrderNegotiationFieldsV0JSON, IOrderNegotiationFieldsV1JSON, OrderNegotiationFields } from './OrderNegotiationFields';
export declare abstract class OrderAccept {
static deserialize(buf: Buffer): OrderAccept;
abstract type: number;
abstract toJSON(): IOrderAcceptV0JSON;
abstract serialize(): Buffer;
}
/**
* OrderAccept contains information about a node and indicates its
* acceptance of the new order offer. This is the second step towards
* order negotiation.
*/
export declare class OrderAcceptV0 extends OrderAccept implements IDlcMessage {
static type: MessageType;
/**
* Deserializes an order_accept_v0 message
* @param buf
*/
static deserialize(buf: Buffer): OrderAcceptV0;
/**
* The type for order_accept_v0 message. order_accept_v0 = 62772
*/
type: MessageType;
tempOrderId: Buffer;
negotiationFields: OrderNegotiationFields;
/**
* Converts order_negotiation_fields_v0 to JSON
*/
toJSON(): IOrderAcceptV0JSON;
/**
* Serializes the order_accept_v0 message into a Buffer
*/
serialize(): Buffer;
}
export interface IOrderAcceptV0JSON {
type: number;
tempOrderId: string;
negotiationFields: IOrderNegotiationFieldsV0JSON | IOrderNegotiationFieldsV1JSON;
}
export declare class OrderAcceptContainer {
private accepts;
/**
* Adds an OrderAccept to the container.
* @param accept The OrderAccept to add.
*/
addAccept(accept: OrderAccept): void;
/**
* Returns all OrderAccepts in the container.
* @returns An array of OrderAccept instances.
*/
getAccepts(): OrderAccept[];
/**
* Serializes all OrderAccepts in the container to a Buffer.
* @returns A Buffer containing the serialized OrderAccepts.
*/
serialize(): Buffer;
/**
* Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
* @param buf The Buffer to deserialize.
* @returns An OrderAcceptContainer instance.
*/
static deserialize(buf: Buffer): OrderAcceptContainer;
}