lotus-sdk
Version:
Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem
57 lines • 1.91 kB
TypeScript
import { BufferReader } from '../encoding/bufferreader.js';
import { BufferWriter } from '../encoding/bufferwriter.js';
import { Transaction } from '../transaction/index.js';
import { BlockHeader, BlockHeaderData, BlockHeaderObject } from './blockheader.js';
export interface BlockData {
header?: BlockHeader | BlockHeaderData;
metadata?: number;
transactions?: Transaction[];
}
export interface BlockObject {
id: string;
hash: string;
header: BlockHeaderObject;
metadata: number;
transactions: unknown[];
}
export declare class Block {
static readonly MAX_BLOCK_SIZE: number;
static readonly START_OF_BLOCK = 0;
static readonly NULL_HASH: Buffer<ArrayBuffer>;
static readonly Values: {
START_OF_BLOCK: number;
NULL_HASH: Buffer<ArrayBuffer>;
};
header: BlockHeader;
metadata: number;
transactions: Transaction[];
private _id?;
constructor(serialized?: BlockData | Block | Buffer | string);
static shallowCopy(block: Block): Block;
private static _from;
static fromObject(obj: BlockData): Block;
static fromBufferReader(br: BufferReader): Block;
static fromBuffer(buf: Buffer): Block;
static fromString(str: string): Block;
static fromRawBlock(data: Buffer | string): Block;
private static _fromObject;
private static _fromBufferReader;
private _newBlock;
fromBuffer(buf: Buffer): Block;
fromString(str: string): Block;
fromObject(obj: BlockData): Block;
toObject(): BlockObject;
toJSON: () => BlockObject;
toBuffer(): Buffer;
toString(): string;
toBufferWriter(bw?: BufferWriter): BufferWriter;
getTransactionHashes(): Buffer[];
getMerkleTree(): Buffer[];
getMerkleRoot(): Buffer;
validMerkleRoot(): boolean;
private _getHash;
get hash(): string;
get id(): string;
inspect(): string;
}
//# sourceMappingURL=block.d.ts.map