UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

31 lines (30 loc) 1.14 kB
import { Address } from '@btc-vision/transaction'; import { stringBase64ToBuffer } from '../utils/StringToBuffer.js'; export class BlockWitnessAPI { trusted; signature; timestamp; proofs; identity; publicKey; constructor(data) { this.trusted = data.trusted; this.signature = stringBase64ToBuffer(data.signature); this.timestamp = data.timestamp; this.proofs = Object.freeze(data.proofs.map((proof) => stringBase64ToBuffer(proof))); this.identity = data.identity ? stringBase64ToBuffer(data.identity) : undefined; this.publicKey = data.publicKey ? Address.fromString(data.publicKey) : undefined; } } export class BlockWitness { blockNumber; witnesses; constructor(data) { this.blockNumber = typeof data.blockNumber === 'string' ? BigInt(data.blockNumber) : data.blockNumber; this.witnesses = Object.freeze(data.witnesses.map((witness) => new BlockWitnessAPI(witness))); } } export function parseBlockWitnesses(rawWitnesses) { return Object.freeze(rawWitnesses.map((rawWitness) => new BlockWitness(rawWitness))); }