merkletreejs
Version:
Construct Merkle Trees and verify proofs
34 lines (33 loc) • 941 B
TypeScript
/// <reference types="node" />
import Base from './Base';
declare type TValue = Buffer | BigInt | string | number | null | undefined;
declare type THashFn = (value: TValue) => Buffer;
declare type ProofItem = {
key: string;
hash: Buffer;
siblings: {
key: string;
hash: Buffer;
}[];
};
declare class MerkleRadixNode {
key: string;
value: TValue;
children: Map<string, MerkleRadixNode>;
hash: Buffer;
hashFn: THashFn;
constructor(key: string, value: any, hashFn: THashFn);
computeHash(): Buffer;
updateHash(): void;
}
export declare class MerkleRadixTree extends Base {
root: MerkleRadixNode;
hashFn: THashFn;
constructor(hashFn: THashFn);
insert(key: string, value: TValue): void;
lookup(key: string): TValue;
private commonPrefixLength;
generateProof(key: string): any[];
verifyProof(proof: ProofItem[], rootHash: Buffer): boolean;
}
export {};