UNPKG

xud

Version:
44 lines (43 loc) 1.43 kB
/// <reference types="node" /> import Network from './Network'; import Packet from './packets/Packet'; declare type WireMsgHeader = { magic?: number; type: number; length: number; checksum?: number; }; declare type WireMsg = { header: WireMsgHeader; packet: Buffer; }; /** Wire protocol msg framer */ declare class Framer { private network; static readonly MSG_HEADER_LENGTH = 16; static readonly ENCRYPTED_MSG_HEADER_LENGTH = 4; static readonly ENCRYPTED_MSG_PAYLOAD_HEADER_LENGTH = 8; static readonly ENCRYPTION_KEY_LENGTH = 32; static readonly ENCRYPTION_IV_LENGTH = 16; constructor(network: Network); /** * Frame a packet with a header to be used as a wire msg */ frame: (packet: Packet, encryptionKey?: Buffer | undefined) => Promise<Buffer>; /** * Unframe a wire msg or an encrypted wire msg */ unframe: (msg: Buffer, encryptionKey?: Buffer | undefined) => WireMsg; /** * Parse the length of a wire msg or an encrypted wire msg */ parseLength: (data: Buffer, encrypted: boolean) => number; /** * Parse the header of a wire msg or an encrypted wire msg payload */ parseHeader: (msg: Buffer, encrypted: boolean) => WireMsgHeader; encrypt: (plaintext: Buffer, key: Buffer) => Promise<Buffer>; decrypt: (ciphertext: Buffer, key: Buffer) => Buffer; } export default Framer; export { WireMsgHeader };