@chainsafe/persistent-merkle-tree
Advanced tools
Comparing version 0.3.4 to 0.3.5
# Changelog | ||
## [v0.3.4](https://github.com/ChainSafe/persistent-merkle-tree/tree/v0.3.4) (2021-08-18) | ||
## [v0.3.5](https://github.com/ChainSafe/persistent-merkle-tree/tree/v0.3.5) (2021-08-19) | ||
[Full Changelog](https://github.com/ChainSafe/persistent-merkle-tree/compare/v0.3.3...v0.3.4) | ||
[Full Changelog](https://github.com/ChainSafe/persistent-merkle-tree/compare/v0.3.4...v0.3.5) | ||
**Merged pull requests:** | ||
- Bump yargs-parser from 13.1.1 to 13.1.2 [\#57](https://github.com/ChainSafe/persistent-merkle-tree/pull/57) (@dependabot[bot]) | ||
- Bump path-parse from 1.0.6 to 1.0.7 [\#56](https://github.com/ChainSafe/persistent-merkle-tree/pull/56) (@dependabot[bot]) | ||
- Bump glob-parent from 5.1.0 to 5.1.2 [\#44](https://github.com/ChainSafe/persistent-merkle-tree/pull/44) (@dependabot[bot]) | ||
- Bump lodash from 4.17.19 to 4.17.21 [\#43](https://github.com/ChainSafe/persistent-merkle-tree/pull/43) (@dependabot[bot]) | ||
- Bump hosted-git-info from 2.8.5 to 2.8.9 [\#38](https://github.com/ChainSafe/persistent-merkle-tree/pull/38) (@dependabot[bot]) | ||
- Bump handlebars from 4.5.3 to 4.7.7 [\#36](https://github.com/ChainSafe/persistent-merkle-tree/pull/36) (@dependabot[bot]) | ||
@@ -12,1 +12,2 @@ import { HashObject } from "@chainsafe/as-sha256"; | ||
export declare function uint8ArrayToHashObject(byteArr: Uint8Array): HashObject; | ||
export declare function isHashObject(hash: HashObject | Uint8Array): hash is HashObject; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.uint8ArrayToHashObject = exports.hashObjectToUint8Array = exports.hashTwoObjects = exports.hash = void 0; | ||
exports.isHashObject = exports.uint8ArrayToHashObject = exports.hashObjectToUint8Array = exports.hashTwoObjects = exports.hash = void 0; | ||
const as_sha256_1 = require("@chainsafe/as-sha256"); | ||
@@ -32,1 +32,6 @@ const input = new Uint8Array(64); | ||
exports.uint8ArrayToHashObject = uint8ArrayToHashObject; | ||
function isHashObject(hash) { | ||
// @ts-ignore | ||
return hash.length === undefined; | ||
} | ||
exports.isHashObject = isHashObject; |
@@ -33,3 +33,3 @@ import { HashObject } from "@chainsafe/as-sha256"; | ||
export declare class LeafNode extends Node { | ||
constructor(_root: Uint8Array); | ||
constructor(_root: Uint8Array | HashObject); | ||
get rootHashObject(): HashObject; | ||
@@ -36,0 +36,0 @@ get root(): Uint8Array; |
@@ -67,5 +67,10 @@ "use strict"; | ||
super(); | ||
if (_root.length !== 32) | ||
throw new Error(ERR_INVALID_TREE); | ||
this.applyHash(hash_1.uint8ArrayToHashObject(_root)); | ||
if (hash_1.isHashObject(_root)) { | ||
this.applyHash(_root); | ||
} | ||
else { | ||
if (_root.length !== 32) | ||
throw new Error(ERR_INVALID_TREE); | ||
this.applyHash(hash_1.uint8ArrayToHashObject(_root)); | ||
} | ||
} | ||
@@ -72,0 +77,0 @@ get rootHashObject() { |
import { Gindex, GindexBitstring } from "./gindex"; | ||
import { Node } from "./node"; | ||
import { HashObject } from "@chainsafe/as-sha256"; | ||
import { Proof, ProofInput } from "./proof"; | ||
@@ -16,4 +17,6 @@ export declare type Hook = (v: Tree) => void; | ||
getRoot(index: Gindex | GindexBitstring): Uint8Array; | ||
getHashObject(index: Gindex | GindexBitstring): HashObject; | ||
setRoot(index: Gindex | GindexBitstring, root: Uint8Array, expand?: boolean): void; | ||
getSubtree(index: Gindex | GindexBitstring): Tree; | ||
setHashObject(index: Gindex | GindexBitstring, hashObject: HashObject, expand?: boolean): void; | ||
getSubtree(index: Gindex): Tree; | ||
setSubtree(index: Gindex | GindexBitstring, v: Tree, expand?: boolean): void; | ||
@@ -20,0 +23,0 @@ clone(): Tree; |
@@ -123,5 +123,11 @@ "use strict"; | ||
} | ||
getHashObject(index) { | ||
return this.getNode(index); | ||
} | ||
setRoot(index, root, expand = false) { | ||
this.setNode(index, new node_1.LeafNode(root), expand); | ||
} | ||
setHashObject(index, hashObject, expand = false) { | ||
this.setNode(index, new node_1.LeafNode(hashObject), expand); | ||
} | ||
getSubtree(index) { | ||
@@ -128,0 +134,0 @@ return new Tree(this.getNode(index), (v) => this.setNode(index, v.rootNode)); |
{ | ||
"name": "@chainsafe/persistent-merkle-tree", | ||
"version": "0.3.4", | ||
"version": "0.3.5", | ||
"description": "Merkle tree implemented as a persistent datastructure", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1257
63602