@node-dlc/messaging
Version:
DLC Messaging Protocol
57 lines (56 loc) • 1.63 kB
TypeScript
/// <reference types="node" />
import { MessageType } from '../MessageType';
import { IDlcMessage } from './DlcMessage';
/**
* DlcInput contains information about a DLC input to be used in a funding transaction.
* Contains the local and remote funding public keys and the contract ID of the DLC input.
* Matches rust-dlc DlcInput struct.
*/
export declare class DlcInput implements IDlcMessage {
static type: MessageType;
/**
* Creates a DlcInput from JSON data
* @param json JSON object representing DLC input
*/
static fromJSON(json: any): DlcInput;
/**
* Deserializes a dlc_input message
* @param buf
*/
static deserialize(buf: Buffer): DlcInput;
/**
* Deserializes a dlc_input without TLV wrapper (for use in FundingInput)
* @param buf
*/
static deserializeBody(buf: Buffer): DlcInput;
/**
* The type for dlc_input message. dlc_input = 42773
*/
type: MessageType;
length: bigint;
localFundPubkey: Buffer;
remoteFundPubkey: Buffer;
contractId: Buffer;
/**
* Validates correctness of all fields
* @throws Will throw an error if validation fails
*/
validate(): void;
/**
* Converts dlc_input to JSON
*/
toJSON(): IDlcInputJSON;
/**
* Serializes the dlc_input message into a Buffer
*/
serialize(): Buffer;
/**
* Serializes dlc_input body without TLV wrapper (for embedding in FundingInput)
*/
serializeBody(): Buffer;
}
export interface IDlcInputJSON {
localFundPubkey: string;
remoteFundPubkey: string;
contractId: string;
}