@node-dlc/messaging
Version:
DLC Messaging Protocol
62 lines (61 loc) • 2.32 kB
TypeScript
/// <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[];
}