UNPKG

@btc-vision/btc-runtime

Version:

Bitcoin Smart Contract Runtime

36 lines (27 loc) 890 B
import { BytesWriter } from '../buffer/BytesWriter'; import { Revert } from '../types/Revert'; export const MAX_EVENT_DATA_SIZE: u32 = 352; // 352 bytes max per event. export abstract class NetEvent { private readonly buffer: Uint8Array; protected constructor( public readonly eventType: string, protected data: BytesWriter, ) { if (data.bufferLength() > MAX_EVENT_DATA_SIZE) { throw new Error('Event data length exceeds maximum length.'); } this.buffer = data.getBuffer(); } public get length(): u32 { if (!this.buffer) { throw new Revert('Buffer is not defined'); } return this.buffer.byteLength; } public getEventData(): Uint8Array { if (!this.buffer) { throw new Revert('Buffer is not defined'); } return this.buffer; } }