UNPKG

@node-dlc/messaging

Version:
49 lines (48 loc) 1.62 kB
/// <reference types="node" /> import { MessageType } from '../MessageType'; import { IDlcMessage } from './DlcMessage'; /** * In order to make it possible to hold oracles accountable in cases where * they do not release a signature for an event outcome, there needs to be * a proof that an oracle has committed to a given outcome. This proof is * given in a so-called oracle announcement, which contains an oracle event * together with the oracle public key and a signature over its serialization, * which must be valid with respect to the specified public key. * * This also makes it possible for users to obtain oracle event information * from an un-trusted peer while being guaranteed that it originates from a * given oracle. */ export declare class OracleAttestationV0 implements IDlcMessage { static type: MessageType; /** * Deserializes an oracle_announcement_v0 message * @param buf */ static deserialize(buf: Buffer): OracleAttestationV0; /** * The type for oracle_announcement_v0 message. oracle_announcement_v0 = 55332 */ type: MessageType; length: bigint; eventId: string; oraclePubkey: Buffer; signatures: Buffer[]; outcomes: string[]; validate(): void; /** * Converts oracle_attestation_v0 to JSON */ toJSON(): OracleAttestationV0JSON; /** * Serializes the oracle_announcement_v0 message into a Buffer */ serialize(): Buffer; } export interface OracleAttestationV0JSON { type: number; eventId: string; oraclePubkey: string; signatures: string[]; outcomes: string[]; }