ccxt
Version:
36 lines (35 loc) • 1.3 kB
TypeScript
import { BigNumberish } from '../types/index.js';
export declare class MerkleTree {
leaves: string[];
branches: string[][];
root: string;
hashMethod: (a: BigNumberish, b: BigNumberish) => string;
constructor(leafHashes: string[], hashMethod?: (a: BigNumberish, b: BigNumberish) => string);
/**
* Create Merkle tree
* @param leaves hex-string array
* @returns format: hex-string; Merkle tree root
*/
private build;
/**
* Create hash from ordered a and b, Pedersen hash default
* @returns format: hex-string
*/
static hash(a: BigNumberish, b: BigNumberish, hashMethod?: (a: BigNumberish, b: BigNumberish) => string): string;
/**
* Return path to leaf
* @param leaf hex-string
* @param branch hex-string array
* @param hashPath hex-string array
* @returns format: hex-string array
*/
getProof(leaf: string, branch?: string[], hashPath?: string[]): string[];
}
/**
* Test Merkle tree path
* @param root hex-string
* @param leaf hex-string
* @param path hex-string array
* @param hashMethod hash method override, Pedersen default
*/
export declare function proofMerklePath(root: string, leaf: string, path: string[], hashMethod?: (a: BigNumberish, b: BigNumberish) => string): boolean;