alterdot-lib
Version:
A pure and powerful JavaScript Alterdot library.
107 lines (94 loc) • 2.63 kB
TypeScript
import { BlockHeader } from './BlockHeader';
import { BufferReader } from '../buffer/BufferReader';
import { BufferWriter } from '../buffer/BufferWriter';
/**
* Instantiate a MerkleBlock from a Buffer, JSON object, or Object with
* the properties of the Block
*
* @param {Buffer|string|{
* header: BlockHeader|Object,
* numTransactions: number,
* hashes: string[],
* flags: number[]
* }} arg A Buffer, JSON string, or Object representing a MerkleBlock
* @returns {MerkleBlock}
* @constructor
*/
export class MerkleBlock {
constructor(arg: Buffer | string | any);
/**
* @name MerkleBlock#header
* @type {BlockHeader}
*/
header: BlockHeader;
/**
* @name MerkleBlock#numTransactions
* @type {Number}
*/
numTransactions: number;
/**
* @name MerkleBlock#hashes
* @type {String[]}
*/
hashes: String[];
/**
* @name MerkleBlock#flags
* @type {Number[]}
*/
flags: Number[];
/**
* Builds merkle block from block header, transaction hashes and filter matches
* @param {BlockHeader|Object} header
* @param {Buffer[]} transactionHashes
* @param {boolean[]} filterMatches
* @return {MerkleBlock}
*/
static build(
header: BlockHeader | any,
transactionHashes: Buffer[],
filterMatches: boolean[]
): MerkleBlock;
/**
* @param {Buffer} buf - MerkleBlock data in a Buffer object
* @returns {MerkleBlock} - A MerkleBlock object
*/
static fromBuffer(buf: Buffer): MerkleBlock;
/**
* @param {BufferReader} br - MerkleBlock data in a BufferReader object
* @returns {MerkleBlock} - A MerkleBlock object
*/
static fromBufferReader(br: BufferReader): MerkleBlock;
/**
* @returns {Buffer} - A buffer of the block
*/
toBuffer(): Buffer;
/**
* @param {BufferWriter} bw - An existing instance of BufferWriter
* @returns {BufferWriter} - An instance of BufferWriter representation of the MerkleBlock
*/
toBufferWriter(bw: BufferWriter): BufferWriter;
/**
* @function
* @returns {Object} - A plain object with the MerkleBlock properties
*/
toObject(): any;
/**
* @function
* @returns {Object} - A plain object with the MerkleBlock properties
*/
toJSON(): any;
/**
* Verify that the MerkleBlock is valid
* @returns {Boolean} - True/False whether this MerkleBlock is Valid
*/
validMerkleTree(): boolean;
/**
* @return {string[]}
*/
getMatchedTransactionHashes(): string[];
/**
* @param {Object} obj - A plain JavaScript object
* @returns {MerkleBlock} - An instance of block
*/
static fromObject(obj: any): MerkleBlock;
}