UNPKG

@jayanth-kumar-morem/indexed-merkle-tree

Version:

A TypeScript implementation of Indexed Merkle Trees with Poseidon hash function support to perform non membership proofs

48 lines 1.29 kB
export interface Leaf { val: bigint; nextVal: bigint; nextIdx: number; } export interface NonMembershipProof { query: bigint; preLeaf: Leaf; path: bigint[]; directions: number[]; root: bigint; } export interface SerializedIMT { depth: number; nodes: string[][]; leaves: { val: string; nextVal: string; nextIdx: number; }[]; } export declare class IndexedMerkleTree { readonly depth = 32; readonly zeros: bigint[]; readonly zero: bigint; private nodes; private leaves; constructor(); new(): Promise<IndexedMerkleTree>; private leafHash; private parentHash; private toField; private predecessorIndex; private setNode; insert(x: bigint): Promise<void>; private updateLeafHash; get root(): bigint; createNonMembershipProof(x: bigint): NonMembershipProof; verifyNonMembershipProof(p: NonMembershipProof): boolean; serialize(): SerializedIMT; static deserialize(data: SerializedIMT): IndexedMerkleTree; saveToFile(filePath: string): Promise<void>; static loadFromFile(filePath: string): IndexedMerkleTree; get size(): number; getLeaves(): Leaf[]; getNodesAtLevel(level: number): bigint[]; } //# sourceMappingURL=index.d.ts.map