UNPKG

@node-dlc/messaging

Version:
62 lines (61 loc) 2.32 kB
/// <reference types="node" /> import { Value } from '@node-dlc/bitcoin'; import { MessageType } from '../MessageType'; import { IDlcMessage } from './DlcMessage'; /** * The BatchFundingGroup TLV contains information about the intent to * enter multiple DLCs simulatenously within one batch dlc funding * transaction in the contract negotiation stage of the peer protocol * * This is the first step toward creating a batch dlc funding transaction * * A DlcOffer or DlcAccept can contain one or multiple BatchFundingInfo * TLVs to specify one or more groupings. This allows specification of * collateral put towards different types of contracts, such as options * contracts, futures contracts, or other investment types. * * Attributes: * - tempContractIds: Temporary identifiers for contracts proposed in DlcOffers. * - contractIds: Identifiers for contracts that have been accepted and are * part of the funding transaction. These are derived from DlcOffers and DlcAccepts. * - allocatedCollateral: The amount of collateral allocated to the contracts * within this group. This is specified early in the negotiation process. * - eventIds: Oracle event identifiers for the contracts in this group. These * are also specified early in the negotiation process. * * Note: During the early stages of the negotiation protocol, only allocatedCollateral * and eventIds are specified. tempContractIds and contractIds are added to the * DlcAccept upon creation. */ export declare class BatchFundingGroup implements IDlcMessage { static type: MessageType; /** * Deserializes a batch_contract_info message * @param buf */ static deserialize(buf: Buffer): BatchFundingGroup; /** * The type for batch_contract_info message. */ type: MessageType; length: bigint; tempContractIds: Buffer[]; contractIds: Buffer[]; allocatedCollateral: Value; eventIds: string[]; /** * Converts batch_funding_info to JSON */ toJSON(): IBatchFundingGroupJSON; /** * Serializes the batch_funding_info message into a Buffer */ serialize(): Buffer; } export interface IBatchFundingGroupJSON { type: number; tempContractIds: string[]; contractIds: string[]; totalCollateral: number; eventIds: string[]; }