lotus-sdk
Version:
Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem
82 lines • 2.35 kB
TypeScript
import { BufferReader } from '../encoding/bufferreader.js';
import { BufferWriter } from '../encoding/bufferwriter.js';
import { BN } from '../crypto/bn.js';
export interface BlockHeaderData {
prevHash?: Buffer | string;
bits?: number;
time?: number;
timestamp?: number;
reserved?: number;
nonce?: BN;
version?: number;
size?: BN;
height?: number;
epochBlock?: Buffer | string;
merkleRoot?: Buffer | string;
extendedMetadata?: Buffer | string;
hash?: string;
}
export interface BlockHeaderObject {
hash: string;
prevHash: string;
bits: number;
time: number;
reserved: number;
nonce: string;
version: number;
size: number;
height: number;
epochBlock: string;
merkleRoot: string;
extendedMetadata: string;
}
export declare class BlockHeader {
static readonly Constants: {
START_OF_HEADER: number;
MAX_TIME_OFFSET: number;
LARGEST_HASH: BN;
};
static readonly START_OF_HEADER = 0;
static readonly MAX_TIME_OFFSET: number;
static readonly LARGEST_HASH: bigint;
prevHash: Buffer;
bits: number;
time: number;
timestamp: number;
reserved: number;
nonce: BN;
version: number;
size: BN;
height: number;
epochBlock: Buffer;
merkleRoot: Buffer;
extendedMetadata: Buffer;
private _id?;
constructor(arg?: BlockHeaderData | BlockHeader);
private static _from;
private static _fromObject;
static fromObject(obj: BlockHeaderData): BlockHeader;
static fromRawBlock(data: Buffer | string): BlockHeader;
static fromBuffer(buf: Buffer): BlockHeader;
static fromString(str: string): BlockHeader;
private static _fromBufferReader;
static fromBufferReader(br: BufferReader): BlockHeader;
toObject(): BlockHeaderObject;
toJSON: () => BlockHeaderObject;
toBuffer(): Buffer;
toString(): string;
toBufferWriter(bw?: BufferWriter): BufferWriter;
getTargetDifficulty(bits?: number): BN;
getDifficulty(): number;
private _getHash;
private _timeToBytes;
private _sizeToBytes;
private _getLayer3Hash;
private _getLayer2Hash;
get hash(): string;
get id(): string;
validTimestamp(): boolean;
validProofOfWork(): boolean;
inspect(): string;
}
//# sourceMappingURL=blockheader.d.ts.map