UNPKG

@node-dlc/messaging

Version:
98 lines (97 loc) 3.24 kB
/// <reference types="node" /> import { IOrderMetadataJSON } from '..'; import { MessageType } from '../MessageType'; import { BatchFundingGroup, IBatchFundingGroupJSON } from './BatchFundingGroup'; import { ContractInfo, IContractInfoV0JSON, IContractInfoV1JSON } from './ContractInfo'; import { IDlcMessage } from './DlcMessage'; import { IOrderIrcInfoJSON, OrderIrcInfo } from './OrderIrcInfo'; import { OrderMetadata } from './OrderMetadata'; import { IOrderPositionInfoJSON, OrderPositionInfo } from './OrderPositionInfo'; /** * OrderOffer message contains information about a node and indicates its * desire to enter into a new contract. This is the first step toward * order negotiation. This is a simpler message than DlcOffer. */ export declare class OrderOffer implements IDlcMessage { static type: MessageType; /** * Creates an OrderOffer from JSON data * @param json JSON object representing an order offer */ static fromJSON(json: any): OrderOffer; /** * Deserializes an order_offer message * @param buf */ static deserialize(buf: Buffer): OrderOffer; /** * The type for order_offer message. order_offer = 62770 */ type: MessageType; protocolVersion: number; temporaryContractId: Buffer; contractFlags: Buffer; chainHash: Buffer; contractInfo: ContractInfo; offerCollateral: bigint; feeRatePerVb: bigint; cetLocktime: number; refundLocktime: number; metadata?: OrderMetadata; ircInfo?: OrderIrcInfo; positionInfo?: OrderPositionInfo; batchFundingGroups?: BatchFundingGroup[]; unknownTlvs?: Array<{ type: number; data: Buffer; }>; get offerCollateralSatoshis(): bigint; set offerCollateralSatoshis(value: bigint); validate(): void; /** * Converts order_offer to JSON */ toJSON(): IOrderOfferJSON; /** * Serializes the order_offer message into a Buffer */ serialize(): Buffer; } export interface IOrderOfferJSON { type: number; protocolVersion: number; temporaryContractId: string; contractFlags: number; chainHash: string; contractInfo: IContractInfoV0JSON | IContractInfoV1JSON; offerCollateral: number; offerCollateralSatoshis: number; feeRatePerVb: number; cetLocktime: number; refundLocktime: number; tlvs: (IOrderMetadataJSON | IOrderIrcInfoJSON | IOrderPositionInfoJSON | IBatchFundingGroupJSON | unknown)[]; } export declare class OrderOfferContainer { private offers; /** * Adds an OrderOffer to the container. * @param offer The OrderOffer to add. */ addOffer(offer: OrderOffer): void; /** * Returns all OrderOffers in the container. * @returns An array of OrderOffer instances. */ getOffers(): OrderOffer[]; /** * Serializes all OrderOffers in the container to a Buffer. * @returns A Buffer containing the serialized OrderOffers. */ serialize(): Buffer; /** * Deserializes a Buffer into an OrderOfferContainer with OrderOffers. * @param buf The Buffer to deserialize. * @returns An OrderOfferContainer instance. */ static deserialize(buf: Buffer): OrderOfferContainer; }