# `verae-tree-node/merkle` **Package:** `verae-tree-node` **Source:** `packages/verae-tree-node/src/merkle.js` **Lines:** 97 ## What this module is Implementation module in `verae-tree-node`. The tables below are extracted from the source (signatures + JSDoc). ## Exports `sha256Hex`, `parentHash`, `buildMerkle`, `merkleProof`, `verifyProof`, `shardIndex` ## Types / interfaces / classes _None extracted._ ## Functions | Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) | |------|------------|---------------------|---------|-----------------------------| | `sha256Hex` | `data` | data: `string|Buffer|Uint8Array` | `string` — lowercase hex | see Call graph | | `parentHash` | `left, right` | left: `string`, right: `string` | `unknown` | see Call graph | | `buildMerkle` | `leaves` | leaves: `string[]` | `{ root: string, layers: string[][], leaves: string[] ` — } | see Call graph | | `merkleProof` | `layers, index` | layers: `string[][]`, index: `number` | `Array<{ sibling: string, position: 'left'|'right' ` — >} | see Call graph | | `verifyProof` | `leaf, proof, root` | leaf: `string`, root: `string` | `unknown` | see Call graph | | `shardIndex` | `sha256, n` | sha256: `string`, n: `number` | `unknown` | see Call graph | ## What it imports / requires - `node:crypto` ## Call graph (identifiers invoked) `sha256Hex`, `isBuffer`, `from`, `createHash`, `update`, `digest`, `children`, `duplicated`, `parentHash`, `buildMerkle`, `map`, `toLowerCase`, `push`, `merkleProof`, `floor`, `verifyProof`, `nodes`, `shardIndex`, `slice`, `readUInt32BE` Each identifier is a call site in this file. Follow the import list to see the defining module; open that module’s MD for parameter and return types. ## Return values (how to read this) - HTTP route handlers return Express `res.json(...)` bodies (see route docs). - Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches). - Pricing functions return integer **cents** on `Quote.totalCents`.